Skip to content

Commit ed76e5a

Browse files
emiliosvgeesus
authored andcommitted
[css-contain-2] Keep non-initial viewport determination happen one frame later.
1 parent f6b8e1a commit ed76e5a

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

css-contain-2/Overview.bs

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1998,20 +1998,28 @@ Suppressing An Element's Contents Entirely: the 'content-visibility' property {#
19981998
All elements have a <dfn>currently relevant to the user</dfn> flag, initially false.
19991999
</div>
20002000

2001+
<div algorithm="update currently relevant to the user">
2002+
To <dfn>update currently relevant to the user</dfn> given an element <var>element</var>:
2003+
2004+
1. Let <var>currentlyRelevant</var> be true if <var>element</var> is [=relevant to the user=], otherwise false.
2005+
1. If <var>element</var>'s [=currently relevant to the user=] flag is equal to <var>currentlyRelevant</var>, then return false.
2006+
1. Set <var>element</var>'s [=currently relevant to the user=] flag to <var>currentlyRelevant</var>.
2007+
1. return true.
2008+
</div>
2009+
20012010
<div algorithm="update content relevancy for a document">
20022011
To <dfn export>update content relevancy for a document</dfn> given a document <var>doc</var>, and a boolean <var>updateNonInitial</var>:
20032012

20042013
1. Let <var>changed</var> be false.
2005-
1. For each <var>element</var> [=connected=] to doc with ''auto'' used value of ''content-visibility''
2014+
1. For each <var>element</var> [=connected=] to doc with ''auto'' used value of ''content-visibility'':
2015+
1. If <var>updateNonInitial</var> is true:
2016+
1. If [=update currently relevant to the user=] for <var>element</var> returns true.
2017+
1. Set <var>changed</var> to true.
20062018
1. Let <var>isInitialDetermination</var> be true if <var>element</var>'s [=proximity to the viewport=] is [=not determined=], otherwise false.
20072019
1. Determine [=proximity to the viewport=] for <var>element</var>.
2008-
1. If <var>updateNonInitial</var> is false and <var>isInitialDetermination</var> is false, then [=continue=].
2009-
1. If <var>element</var> is [=relevant to the user=], then:
2010-
1. If <var>element</var>'s [=currently relevant to the user=] flag is false, set <var>changed</var> to true.
2011-
1. Set <var>element</var>'s [=currently relevant to the user=] flag to true.
2012-
1. Otherwise:
2013-
1. If <var>element</var>'s [=currently relevant to the user=] flag is true, set <var>changed</var> to true.
2014-
1. Set <var>element</var>'s [=currently relevant to the user=] flag to false.
2020+
1. If <var>isInitialDetermination</var> is false, then [=continue=].
2021+
1. If [=update currently relevant to the user=] for <var>element</var> returns true.
2022+
1. Set <var>changed</var> to true.
20152023
1. return <var>changed</var>.
20162024

20172025
<div class=note>

0 commit comments

Comments
 (0)